package com.chenfan.magic.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.chenfan.magic.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 实体类
 *
 * @author troy
 */
@Data
@TableName("idc_isv")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "Isv对象", description = "Isv对象")
public class Isv extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @TableId(value = "app_key", type = IdType.INPUT)
    @ApiModelProperty(value = "应用key")
    private String appKey;

    @ApiModelProperty(value = "应用密钥")
    private String appSecret;

    @ApiModelProperty(value = "应用名称")
    private String appName;

    @ApiModelProperty(value = "应用描述")
    private String appDesc;

    @ApiModelProperty(value = "应用官网")
    private String appHomepage;

    @ApiModelProperty(value = "应用LOGO")
    private String appLogo;

    @ApiModelProperty(value = "应用通行证配置信息")
    private String appConfig;

    @ApiModelProperty(value = "应用特性优势")
    private String appFeature;

    @ApiModelProperty(value = "应用授权条款协议")
    private String appProtocol;

    @ApiModelProperty(value = "应用三方登录配置")
    private String appOauth2;

    @ApiModelProperty(value = "拦截器集合")
    private String appFilters;

    @ApiModelProperty(value = "应用数据源配置: Prod")
    private String appDatasourcesProd;

    @ApiModelProperty(value = "应用数据源配置: Test")
    private String appDatasourcesTest;

    @ApiModelProperty(value = "应用数据源配置: Dev")
    private String appDatasourcesDev;

    @ApiModelProperty(value = "应用环境开关")
    private Integer appEnvir;

    @ApiModelProperty(value = "应用钉钉机器人s")
    private String appRobotDings;

    @ApiModelProperty(value = "应用邮件通知开关")
    private String appNotifyEmails;

    @ApiModelProperty(value = "应用命名空间")
    private String appNamespace;

    @ApiModelProperty(value = "应用魔方线路")
    private Integer appLine;

    @ApiModelProperty(value = "应用令牌桶")
    private String appTokenBucket;

    @ApiModelProperty(value = "应用通行证回调地址")
    private String appRedirect;

    @ApiModelProperty(value = "通信数据加密: 0-加密, 1-不加密")
    private Integer appSecure;

    @ApiModelProperty(value = "默认解析引擎")
    private String appResolveEngine;

    @ApiModelProperty(value = "接口缓存开关: 0-不缓存, 1-缓存")
    private Integer appCache;

    @ApiModelProperty(value = "接口缓存等级: 0-缓存成功, 1-全部缓存")
    private Integer appCacheLevel;

    @ApiModelProperty(value = "是否自动去除字段表前缀")
    private Integer appAutoCutDbPrefix;

    @ApiModelProperty(value = "自定义通行证地址")
    private String appPassportUrl;

    @ApiModelProperty(value = "应用从属类型: 0-用户应用, 1-团队应用")
    private Integer ownerType;

    @ApiModelProperty(value = "应用从属者: 用户 id / 团队 id")
    private String ownerId;

    @ApiModelProperty(value = "元数据锁: 0-正常, 1-锁定(锁定后仅团队创始人及魔方超管有权限操控), 仅对团队应用有效.")
    private Integer metaLock;

    /**
     * 资源集合
     */
    @ApiModelProperty(value = "资源集合")
    private String resourceIds;
    /**
     * 授权范围
     */
    @ApiModelProperty(value = "授权范围")
    private String scope;
    /**
     * 授权类型
     */
    @ApiModelProperty(value = "授权类型")
    private String authorizedGrantTypes;
    /**
     * 权限
     */
    @ApiModelProperty(value = "权限")
    private String authorities;
    /**
     * 令牌过期秒数
     */
    @ApiModelProperty(value = "令牌过期秒数")
    private Integer accessTokenValidity;
    /**
     * 刷新令牌过期秒数
     */
    @ApiModelProperty(value = "刷新令牌过期秒数")
    private Integer refreshTokenValidity;
    /**
     * 附加说明
     */
    @ApiModelProperty(value = "附加说明")
    private String additionalInformation;
    /**
     * 自动授权
     */
    @ApiModelProperty(value = "自动授权")
    private String autoapprove;


}
